'use strict'
const path = require('path')

function resolve(dir) {
  return path.join(__dirname, dir)
}

module.exports = {
    // vueConf.baseUrl, // 根域上下文目录
    publicPath: '/',
    // outputDir: 'dist', // 构建输出目录
    // assetsDir: 'assets', // 静态资源目录 (js, css, img, fonts)
    // 是否开启eslint保存检测，有效值：ture | false | 'error'
    lintOnSave: false,
    // runtimeCompiler: true, // 运行时版本是否需要编译
    // 默认babel-loader忽略mode_modules，这里可增加例外的依赖包名
    transpileDependencies: [],
    // 是否在构建生产包时生成 sourceMap 文件，false将提高构建速度
    productionSourceMap: false,
    css: {
      // 配置高于chainWebpack中关于css loader的配置
      // modules: true, // 是否开启支持‘foo.module.css’样式
      // extract: true, // 是否使用css分离插件 ExtractTextPlugin，采用独立样式文件载入，不采用<style>方式内联至html文件中
      // sourceMap: false, // 是否在构建样式地图，false将提高构建速度
      loaderOptions: { // css预设器配置项
        // less: {
        //   loaderOptions: {
        //   data: `@import "@/assets/less/global.less";`
        //   }
        // }
        less: {
          javascriptEnabled: true
        }
      }
    },
    // 构建时开启多进程处理babel编译
    parallel: require('os').cpus().length > 1,
    chainWebpack: config => {
      config.resolve.alias
        .set('@c', resolve('src/components'))
      config
          // 开发环境
          .when(process.env.NODE_ENV === 'development',
                // sourcemap不包含列信息
                config => config.devtool('cheap-source-map')
          )
          // 非开发环境
          .when(process.env.NODE_ENV !== 'development', config => {

      });
      config.module
        .rule('worker')
        .test(/\.worker\.js$/)
        .use('worker')
        .loader('worker-loader')
        .options({
          inline: 'fallback'
        })
      config
        .plugin('html')
        .tap(args => {
          args[0].title = '默通工单'
          return args
        })
  },
  parallel: false,
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: [path.resolve(__dirname, "./src/style/index.less")]
    }
  },
  pwa: {
    // 单页插件相关配置 https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
  },
  devServer: {
    open: true,
    host: '0.0.0.0',
    port: 8081,
    https: false,
    hotOnly: true,
    proxy: {
      '/sys': {
        target: 'http://127.0.0.1:8888/', //请求地址
        ws: true, //如果要代理websockets，配置这个参数
        changeOrigin: process.env.NODE_ENV == 'development', //开发环境允许跨域
        pathRewrite: { //路径重写
          '^/sys': '/sys' 
        }
      }
    }
  }
}